package servlets;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import main.java.entities.Usuario;
import main.java.factory.SystemFactory;

public class Usuarios extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		HttpSession objSesion = req.getSession();
		
		if(req.getServletPath().equals("/login/login")){
			req.getRequestDispatcher("/WEB-INF/login/login.jsp").forward(req, resp);
		}else if(req.getServletPath().equals("/login/logout")){
			objSesion.removeAttribute("usuario");
			req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp);
		}else if(req.getServletPath().equals("/perfiles/altaPerfil")){
			// TODO: hacer la pagina para dar de alta un usuario
			req.getRequestDispatcher("NEXT_PAGE.jsp").forward(req, resp);
		}else if(req.getServletPath().equals("/perfiles/consultaPerfil")){
			// TODO: Hacer la pagina para ver los datos de un usuario
			req.getRequestDispatcher("NEXT_PAGE.jsp").forward(req, resp);
		}
		
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO: Despues que hagas las paginas, los metodos POST se hacen aca, de forma igual que en el get, discriminas por donde viene y ves que haces y a donde redirigis!
		HttpSession objSesion = req.getSession();
		if(req.getServletPath().equals("/login/login")){
			if(req.getServletPath().equals("/login/login"))	{
				
				String action = req.getParameter("action");
				
				if ("Entrar".equals(action)) {
					String usuario = req.getParameter("usuario");
					String pass = req.getParameter("pass");
		
					if (usuario != null && !usuario.isEmpty()) {
						if (pass != null && !pass.isEmpty()) {
							//TODO: Ver si existe y la pass es correcta.
							for (Usuario u : SystemFactory.getInstance().getUsuarios()){
								if ((u.getNombre().equals(usuario)) && (u.getPassword().equals(pass))){
									objSesion.setAttribute("usuario", usuario);
								}
							}
						}
					}
				}
			}
		}
		
		req.getRequestDispatcher("/data/general").forward(req, resp);
	}
}
